Socket
Socket
Sign inDemoInstall

prequest

Package Overview
Dependencies
3
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    prequest

Promisified HTTP requests with `bluebird` and `request` modules.


Version published
Weekly downloads
3.2K
decreased by-40.92%
Maintainers
1
Install size
4.31 MB
Created
Weekly downloads
 

Readme

Source

prequest

Build Status

Promisified HTTP requests with bluebird and request modules.

Grab it

$ npm install prequest

prequest usage

GET example

With this wrapper, we can easily make requests and catch any http failures in a promise's catch. By default, method is GET:

var prequest = require('prequest');

prequest('http://localhost:4567/api').then(function (body) {
  console.log('Success!');
}).catch(function (err) { // Any HTTP status >= 400 falls here
  console.error('Failed.', err.statusCode, ' >= 400');
});

If you need the full response (e.g. to view headers), specify arrayResponse: true to have the response and body in an array. You may use bluebird's spread to access the items directly:

prequest({
  url:'http://localhost:4567/api',
  arrayResponse: true
}).spread(response, body) {
  console.log('Success!', response.headers, body);
});
POST example

All options supported by request can be supplied to prequest. By default, json: true is enabled to set body payload as a JSON representation. If you do not want this, simply override it to false.

var prequest = require('prequest');

prequest({
  method: 'POST',
  url:'http://localhost:4567/api',
  body: {
    someData: [1, 2, 3]
  }
}).then(body) {
  console.log('Success!',  body);
}).catch(function (err) { // Any HTTP status >= 400 falls here
  console.error('Failed.', err.statusCode, ' >= 400');
});

To use the other methods: [delete, patch, head], specify it in method.

Testing

To run the tests:

$ npm install
$ npm test

The past, without prequest

Without this wrapper, a common pattern to promisify requests:

var Promise = require('bluebird');
var prequest = Promise.promisify(require('request'));

prequest(url).then(function (response) {
  if (reponse.statusCode === 200) {
    // continue;
  } else if (reponse.statusCode >= 500) {
    // handle this error case
  } else if (reponse.statusCode >= 400) {
    // you get the point...
  }
}).catch(function (err) {
  console.error(err);
  // network issue
})

Contribute

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

License

MIT

Keywords

FAQs

Last updated on 24 Nov 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc